//
//  RootViewController.m
//  UI_lesson_12_UITableViewCellHeight
//
//  Created by lanou3g on 16/3/2.
//  Copyright © 2016年 lanou3g. All rights reserved.
//

#import "RootViewController.h"
#import "FirstModel.h"
#import "FirstTableViewCell.h"
#import "Tool.h"
@interface RootViewController ()<UITableViewDataSource,UITableViewDelegate>

@property (nonatomic,strong)NSMutableArray *array;

@end

@implementation RootViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    self.array = [[NSMutableArray alloc] init];
    
    
    //创建UITableView
    [self createTableView];
    
    //创建数据
    [self createData];
    
}
#pragma mark -----创建数据
- (void)createData{
    
    //使用kvc给model对象赋值
    NSDictionary *dic1 = [NSDictionary dictionaryWithObjectsAndKeys:@"newsPic1.jpg",@"imageName",@"《纽约时报》称，尽管双方可能会在气候变化这样的问题上达成共识，但在中美存在争议的议题上，预计习近平不会做出什么让步。这些问题包括网络间谍、在南海争议海域填海造岛，以及中国对在其境内经营的外国企业和非政府组织加紧了控制。",@"text", nil];
    
    FirstModel *firstModel = [[FirstModel alloc] init];
    [firstModel setValuesForKeysWithDictionary:dic1];
    [self.array addObject:firstModel];
}


#pragma mark - 创建UITableView
- (void)createTableView{
    
    CGRect rect = [[UIScreen mainScreen] bounds];
    UITableView *tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 20,rect.size.width, rect.size.height - 20) style:UITableViewStylePlain];
    //注册cell
    [tableView registerClass:[FirstTableViewCell class] forCellReuseIdentifier:@"cell"];
    tableView.dataSource = self;
    tableView.delegate = self;
    [self.view addSubview:tableView];
}

#pragma mark - 设置tableView的代理
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section{
    return _array.count;
}
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView{
    return 1;
}
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    id object = [self.array objectAtIndex:indexPath.row];
    
    FirstTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell"];
    cell.model = object;
    
    return cell;
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
    
    CGFloat imageHeight = [Tool imageScaleHeightWith:@"newsPic1.jpg"];
    
    NSString *text = @"《纽约时报》称，尽管双方可能会在气候变化这样的问题上达成共识，但在中美存在争议的议题上，预计习近平不会做出什么让步。这些问题包括网络间谍、在南海争议海域填海造岛，以及中国对在其境内经营的外国企业和非政府组织加紧了控制。";
    
    CGFloat textHeight = [Tool lableHeightWithText:text font:[UIFont systemFontOfSize:12]];
    
    return imageHeight + textHeight;
}


- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

/*
#pragma mark - Navigation

// In a storyboard-based application, you will often want to do a little preparation before navigation
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {
    // Get the new view controller using [segue destinationViewController].
    // Pass the selected object to the new view controller.
}
*/

@end
